home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / gnu / gas_251.zip / bin_251 / bfd / config.bfd < prev    next >
Text File  |  1994-09-13  |  7KB  |  158 lines

  1. #!/bin/sh
  2.  
  3. # config.bfd
  4. # Convert a canonical host type into a BFD host type.
  5. # Call with canonical name as the argument.
  6. # Echos the result.
  7. # If second argument is _, echoes whether underscores are stripped.
  8.  
  9. canon="$1"
  10. cpu=`echo $canon | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
  11.  
  12. # The binutils c++filt program wants to know whether underscores are
  13. # stripped or not.  It uses this information to choose a default.
  14. # This information is duplicated in the symbol_leading_char field of
  15. # the BFD target vector, but c++filt does not deal with object files
  16. # and is not linked against libbfd.a.  It is not terribly important
  17. # that c++filt get this right; it is just convenient.
  18. strip_underscore=no
  19.  
  20. # WHEN ADDING ENTRIES TO THIS MATRIX:
  21. #  Make sure that the left side always has two dashes.  Otherwise you
  22. #  can get spurious matches.  Even for unambiguous cases, do this as a
  23. #  convention, else the table becomes a real mess to understand and maintain.
  24.  
  25. case "${canon}" in
  26.   alpha-*-netware*)    bfd_name=alpha-nlm ;;
  27.   alpha-*-*)        bfd_name=alphaosf ;;
  28.   arm-*-riscix*)    bfd_name=riscix ;;
  29.   a29k-*-ebmon*)    bfd_name=a29k-coff strip_underscore=yes ;;
  30.   a29k-*-udi*)        bfd_name=a29k-coff strip_underscore=yes ;;
  31.   a29k-*-aout*)        bfd_name=a29k-aout strip_underscore=yes ;;
  32.   a29k-*-coff*)        bfd_name=a29k-coff strip_underscore=yes ;;
  33.   a29k-*-sym1*)        bfd_name=a29k-coff strip_underscore=yes ;;
  34.   h8300*-*-*)        bfd_name=h8300-coff strip_underscore=yes ;;
  35.   h8500-*-*)        bfd_name=h8500-coff strip_underscore=yes ;;
  36.   sh-*-*)        bfd_name=sh-coff strip_underscore=yes ;;
  37.   hppa*-*-*elf*)    bfd_name=hppa-elf ;;
  38.   hppa*-*-bsd*)        bfd_name=hppabsd ;;
  39.   hppa*-*-hpux*)    bfd_name=hppahpux ;;
  40.   hppa*-*-hiux*)    bfd_name=hppahpux ;;
  41.   hppa*-*-osf*)        bfd_name=hppaosf ;;
  42.   i[345]86-*-sysv4*)    bfd_name=i386-elf ;;
  43.   i[345]86-*-unixware)    bfd_name=i386-elf ;;
  44.   i[345]86-*-solaris2*)    bfd_name=i386-elf ;;
  45.   i[345]86-*-sysv*)    bfd_name=i386-coff ;;
  46.   i[345]86-*-isc*)    bfd_name=i386-coff ;;
  47.   i[345]86-*-sco*)    bfd_name=i386-coff ;;
  48.   i[345]86-sequent-bsd*) bfd_name=i386-dynix strip_underscore=yes ;;
  49.   i[345]86-*-bsd*)    bfd_name=i386-bsd strip_underscore=yes ;;
  50.   i[345]86-*-coff)    bfd_name=i386-coff ;;
  51.   i[345]86-*-aix*)    bfd_name=i386-coff ;;
  52.   i[345]86-*-elf)    bfd_name=i386-elf ;;
  53.   i[345]86-*-netbsd*)    bfd_name=i386-nbsd strip_underscore=yes ;;
  54.   i[345]86-*-netware*)    bfd_name=i386-nlm ;;
  55.   i[345]86-*-linux*)    bfd_name=i386-linux strip_underscore=yes ;;
  56.   i[345]86-*-lynxos*)    bfd_name=i386-lynx ;;
  57.   i[345]86-*-gnu*)    bfd_name=i386-mach3 strip_underscore=yes ;;
  58.   i[345]86-*-mach*)    bfd_name=i386-mach3 strip_underscore=yes ;;
  59.   i[345]86-*-osf1mk*)    bfd_name=i386-mach3 strip_underscore=yes ;;
  60.   i[345]86-*-os9k)    bfd_name=i386-os9k ;;
  61.   i[345]86-none-*)    bfd_name=i386-coff ;;
  62.   i960-*-vxworks4*)    bfd_name=i960-bout strip_underscore=yes ;;
  63.   i960-*-vxworks5.0)    bfd_name=i960-bout strip_underscore=yes ;;
  64.   i960-*-vxworks5.*)    bfd_name=i960-coff strip_underscore=yes ;;
  65.   i960-*-vxworks*)    bfd_name=i960-bout strip_underscore=yes ;;
  66.   i960-*-aout*)        bfd_name=i960-bout strip_underscore=yes ;;
  67.   i960-*-bout*)        bfd_name=i960-bout strip_underscore=yes ;;
  68.   i960-*-coff*)        bfd_name=i960-coff strip_underscore=yes ;;
  69.   i960-*-nindy*)    bfd_name=i960-bout strip_underscore=yes ;;
  70.   m68*-apollo-*)    bfd_name=apollo ;;
  71.   m68*-bull-sysv*)    bfd_name=u68k-coff ;;
  72.   m68*-hp-bsd*)        bfd_name=hp300bsd strip_underscore=yes ;;
  73.   m68*-*-aout*)        bfd_name=m68k-0aout strip_underscore=yes ;;
  74.   m68*-*-coff*)        bfd_name=m68k-coff ;;
  75.   m68*-*-hpux*)        bfd_name=hp300hpux strip_underscore=yes ;;
  76.   m68*-*-lynxos*)    bfd_name=m68k-lynx ;;
  77.   m68*-*-os68k*)    bfd_name=m68k-aout strip_underscore=yes ;;
  78.   m68*-*-sunos*)    bfd_name=m68k-aout strip_underscore=yes ;;
  79.   m68*-*-sysv4*)    bfd_name=m68k-elf ;;
  80.   m68*-*-sysv*)        bfd_name=m68k-coff ;;
  81.   m68*-*-vxworks*)    bfd_name=m68k-aout strip_underscore=yes ;;
  82.   m68*-ericsson-*)    bfd_name=m68k-ose strip_underscore=yes ;;
  83.   m68*-netx-*)        bfd_name=m68k-aout strip_underscore=yes ;;
  84.  
  85.   m88*-harris-cxux*)    bfd_name=m88k-elf ;;
  86.   # DGUX used to use COFF, but now (Jan 94) I believe it uses ELF by default.
  87.   m88*-*-dgux*)        bfd_name=m88k-elf ;;
  88.   m88*-*-mach3*)    bfd_name=m88k-mach3 ;;
  89.   m88*-*-sysv4*)    bfd_name=m88k-elf ;;
  90.   m88*-*-*)        bfd_name=m88k-coff strip_underscore=yes ;;
  91.  
  92.   mips*-big-*)        bfd_name=bigmips ;;
  93.   mips*-dec-bsd*)       bfd_name=mipsdecbsd strip_underscore=yes ;;
  94.   mips*-dec-mach3*)     bfd_name=mips-mach3 ;;
  95.   mips*-dec-*)        bfd_name=decstation ;;
  96.   mips*el-*-ecoff*)    bfd_name=decstation ;;
  97.   mips*-*-ecoff*)    bfd_name=bigmips ;;
  98.   mips*-*-irix5*)    bfd_name=mipsbelf ;;
  99.   mips*-sgi-*)        bfd_name=bigmips ;;
  100.   mips*-*-mach3*)    bfd_name=mips-mach3 ;;
  101.   mips*-*-sysv4*)    bfd_name=mipsbelf ;;
  102.   mips*-*-sysv*)    bfd_name=riscos ;;
  103.   mips*-*-riscos*)    bfd_name=riscos ;;
  104.   mips*-*-bsd*)        bfd_name=bigmips ;; # Sony News
  105.   mips*el-*-elf*)    bfd_name=mipslelf ;;
  106.   mips*-*-elf*)        bfd_name=mipsbelf ;;
  107.   ns32k-pc532-mach*)    bfd_name=pc532-mach strip_underscore=yes;;
  108.   ns32k-*-netbsd*)    bfd_name=ns32k-nbsd strip_underscore=yes;;
  109.   powerpc-*-aix*)    bfd_name=rs6000 ;;
  110.   powerpc-*-elf*)    bfd_name=ppc-elf ;;
  111.   powerpc-*-sysv4*)    bfd_name=ppc-elf ;;
  112.   powerpc-*-netware*)    bfd_name=ppc-nlm ;;
  113.   rs6000-*-*)        bfd_name=rs6000 ;;
  114.   sparc-*-lynxos*)    bfd_name=sparc-lynx ;;
  115.   sparc-*-netbsd*)    bfd_name=sparc-nbsd strip_underscore=yes;;
  116.   sparc-*-solaris2*)    bfd_name=sparc-elf ;;
  117.   sparc-*-sysv4*)    bfd_name=sparc-elf ;;
  118.   sparc64-*-aout*)    bfd_name=sparc-aout strip_underscore=yes ;;
  119.   sparc64-*-elf*)    bfd_name=sparc64-elf ;;
  120.   sparc-*-netware*)    bfd_name=sparc-nlm ;;
  121.   sparc*-*-coff*)    bfd_name=sparc-coff ;;
  122.   sparc*-*-*)        bfd_name=sparc-aout strip_underscore=yes ;;
  123.   tahoe-*-*)        bfd_name=tahoe strip_underscore=yes ;;
  124.   vax-*-vms*)        bfd_name=vax-vms ;;
  125.   vax-*-*)        bfd_name=vax strip_underscore=yes ;;
  126.   we32k-*-*)        bfd_name=we32k ;;
  127.   z8k*-*-*)        bfd_name=z8k-coff strip_underscore=yes ;;
  128.  
  129.   *-*-aout*)        bfd_name=${cpu}-aout strip_underscore=yes ;;
  130.   *-*-bsd*)        bfd_name=${cpu}-aout strip_underscore=yes ;;
  131.   *-*-netware*)        bfd_name=${cpu}-nlm ;;
  132.   *-*-sysv4*)        bfd_name=${cpu}-elf ;;
  133.   *-*-solaris2*)    bfd_name=${cpu}-elf ;;
  134.   *-*-vsta*)        bfd_name=${cpu}-aout strip_underscore=yes ;;
  135.   *-*-go32*)        bfd_name=${cpu}-coff ;;
  136.   *-*-sysv*)        bfd_name=${cpu}-coff ;;
  137.  
  138.   *-*-aout64*)        bfd_name=${cpu}-aout64 strip_underscore=yes ;;
  139.   *-*-elf64*)        bfd_name=${cpu}-elf64 ;;
  140.  
  141.   *-adobe-*)        bfd_name=adobe strip_underscore=yes ;;
  142.   *-sony-*)        bfd_name=news strip_underscore=yes ;;
  143.   *-intel-*)        bfd_name=${cpu}-coff ;;
  144.   *-stratus-*)        bfd_name=${cpu}-elf ;;
  145.   *-cbm-*)        bfd_name=${cpu}-elf ;;
  146.   *-ncr-*)        bfd_name=${cpu}-elf ;;
  147.   *-tandem-*)        bfd_name=st2000 ;;
  148.  
  149.   # Allow targets that config.sub doesn't recognize, like "all".
  150.   *)            bfd_name=$canon ;;
  151. esac
  152.  
  153. if [ "x$2" = "x_" ]; then
  154.   echo $strip_underscore
  155. else
  156.   echo $bfd_name
  157. fi
  158.